package com.huangc.cn.rainbow.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Map;

/**
 * @author MADP
 * 数据采集传输对象，将所有事件数据的属性进行封装
 */
@Data
@ApiModel(value = "埋点数据采集传输对象")
public class CollectDataDto {

	@ApiModelProperty(value = "唯一随机数，对单个事件进行追踪")
	private Long _track_id;
//	private Integer _track_id;

	@ApiModelProperty(value = "日志时间")
	private Long time;

	@ApiModelProperty(value = "事件类型")
	private String type;

	@ApiModelProperty(value = "app_id")
	private String app_id;
	@ApiModelProperty(value = "login_id")
	private String login_id;

	@ApiModelProperty(value = "用户的标识。未登录用户：可填充设备标识、CookieID等；登录用户：则应该填充注册账号")
	private String distinct_id;

	@ApiModelProperty(value = "事件名")
	private String event;

	@ApiModelProperty(value = "写入时间")
	private Long _flush_time;

	@ApiModelProperty(value = "SDK版本信息")
	private Map lib;

	@ApiModelProperty(value = "Event的具体属性，包含该Event所需的的属性值")
	private Map properties;

	@ApiModelProperty(value = "匿名id")
	private String anonymous_id;

	@ApiModelProperty(value = "姓名")
	private String name;

	@ApiModelProperty(value = "所属机构")
	private String affiliation;

	@ApiModelProperty(value = "年龄")
	private String age;

	@ApiModelProperty(value = "性别")
	private String sex;

	@ApiModelProperty(value = "电话")
	private String phone_num;

	@ApiModelProperty(value = "客户号")
	private String customer_number;
}
